LRC Maker(Uranos8685)について

1．利用規約
　LRC Maker(Uranos8685)(以下、当ソフトウェアといいます)はフリーソフトです。個人・法人に限らず、利用者は自由に当ソフトウェアを利用することができます。ただし、当プログラムの著作権は作者であるUranos8685に帰属します。

　当ソフトウェアを利用したことによる、データの破損、消失、著作権法などの各種法規違反などによる、いかなる損害も作者であるUranos8685は一切の責任を負いません。利用者の自己責任のもとで使用してください。大事なデータは必ずバックアップを取った上で作業してください。

　当ソフトウェアの再配布、転載は禁止します。

　当ソフトウェアの不具合を発見した場合や要望等がありましたら、配布ページ（https://toybox.uranos8685.mydns.jp/2025/09/29/lrc-makeruranos8685%e3%80%80%e9%85%8d%e5%b8%83%e3%83%9a%e3%83%bc%e3%82%b8）にコメントしてください。本業の関係もあり全てに対応はできませんが、有用そうな機能の追加や可能な限りの不具合修正は対応したいと思います。

　当ソフトウェアを利用して作成したlrcファイルを配布することを禁止することとし、私的利用の範囲内で、当プログラムを利用してください（歌詞にも著作権はあります。これを著作権者に無断で配布することは著作権法に違反します。）。ただし、当プログラムを利用してlrcファイルを作成・配布する者がlrcファイルに記録された歌詞の著作権を有している場合、著作権団体から配布の許可を受けている場合、すでに著作権が切れている歌詞を配布する場合など、著作権法等の各種法規に違反しない場合はこの限りではありません。

　公序良俗の範囲内で、音楽ライフを楽しみましょう。

　以上に同意できる方のみ、当ソフトウェアを使用してください。

2．機能紹介
　・音声ファイルを読み込み、音声ファイルを聞きながら歌詞にタイムスタンプを[mm:ss.xx]フォーマットで付与。
　・VLCのdllを利用しているため、VLCで再生できる音楽ファイルの読み込みが可能（動作にはvlcが必須）。
　・再生速度は0.50x〜5.00xの範囲で任意に指定可能。
　・読み込んだ音声ファイルの波形表示に対応(間奏部分を見極めるのに便利)。
　・歌詞は、既存のlrc・txt形式のファイルからの読み込みに加え、クリップボードにコピーされているテキストを歌詞データとして取り込み可能。
　・読み込んだ歌詞に対し、画面上で歌詞行の追加・削除・歌詞の内容の変更に対応。
　・歌詞を編集した際に、誤って削除した歌詞行を元に戻す、Undo機能（自分がおっちょこちょいで消してしまうため実装）。
　・読み込んだ歌詞ファイルにタイムスタンプが付与されている場合、一部（あるいは全部）の歌詞行のタイムスタンプの打ち直しが可能（新規でタイムスタンプを付与するのと同様に、音声再生中にEnterキーを押すだけで既存のタイムスタンプを置換）。
　・タイムスタンプが付与された歌詞の行をダブルクリックすることで、再生位置をそのタイムスタンプの位置に移動。
　・タイトル、アーティスト、オフセットなどのメタデータ書き込みに対応（ti, ar, al, by, offset）。
　・タイムスタンプを付与したlrcファイルは音声ファイルと同じディレクトリに、「音声ファイル名.lrc」で保存(文字コードはUTF-8)。
　・書き出すlrcファイルの改行コードをCRLFとLFから選択可能。
　・音声ファイルを開いている場合、歌詞ファイルを開く際に音声ファイルと同じフォルダを自動で表示。（音声ファイルと異なるディレクトリに保存された歌詞ファイルも選択することも可能）。
　・保存ボタンを押すことで、開いている音声ファイルと同じディレクトリに「音声ファイル名.lrc」の形でワンクリックで保存可能（ユーザのLRCのファイル名設定等の操作を省略。基本的にLRCファイルは音声ファイルと同じディレクトリに同名.lrcで保存・使用されることが大半のため）。

3．ショートカットキー（macはコントロールキーをコマンドキーに読み替え）
　・スペースキー->再生/一時停止
　・左矢印キー->5秒前へスキップ
　・右矢印キー->5秒先へスキップ
　・上矢印キー->1行上の歌詞行を選択
　・下矢印キー->1行下の歌詞行を選択
　・エンターキー->選択中の歌詞行へタイムスタンプ付与
　・シフトキー+エンターキー->選択中の歌詞行の前に空文字でタイムスタンプを挿入（間奏用）
　・コントロールキー+Aキー->再生位置に合わせて歌詞を追従させる機能の切り替え
　・コントロールキー+Zキー->一つ前へ戻す
　・バックスペースキー->選択している歌詞行を削除 

4．更新履歴
　・2025年10月4日
　　mac版v1.0公開

　・2025年11月8日
　　Windows版v1.0公開

　・2025年11月10日
　　Windows版v1.0.1公開
　　修正箇所
　　　○読み込んだ音声ファイル名を改行して、すべて表示するように変更→うまく動いていないようなので改めて実装し直し(；_；)
　　　○歌詞ファイルを読み込んだ際に、歌詞の1行目を選択した状態になるように変更

　・2026年1月29日
　　mac版v1.0.2公開
　　修正箇所
　　　○プログラム内の余計なコードを削除
　　　○タイムスタンプ付与時に歌詞の先頭の空白を強制削除していた仕様を廃止
　　　○ボタンレイアウトを変更
　　機能追加
　　　○lrcファイル保存時に、任意の場所・名前で出力できるオプションを設定に追加（このオプションを使ってlrcを出力した際のディレクトリを記憶し、次回保存時も同じディレクトリを表示）
　　　○歌詞の先頭または末尾の空白を除去するオプションを設定に追加

・2026年1月30日
　mac版v1.0.2.1公開
　修正箇所
　　○音楽ファイルのパスに含まれる特定の文字（「赫」など）が、macOSのファイルシステム上の正規化形式（NFD/互換漢字）と、Pythonが期待する形式（NFC）とで一致していないことによる音声ファイルの読み取りに失敗するケースがあったため、パスが見つからない場合に類似するパスをディレクトリ内から検索して補正する機能をプログラム内部に実装

・2026年1月31日
　Windows版及びmac版v1.1公開
　修正箇所
　　○vlcでは再生時間を50ms毎にしか返さないため、PCのシステムクロックを使用して厳密にタイムスタンプを付与するように変更
　　○読み込んだ音楽ファイル名が長い場合に、自動スクロールして全文を読めるように変更
　機能追加
　　○作成した歌詞データをタイムスタンプなしのtxtファイルとして出力する機能を追加
　　○作成した歌詞データをタイムスタンプ付きでクリップボードにコピーする機能を追加
　　○歌詞データのスペースについて、全角スペースが含まれる場合には全て半角スペースに一括変換し、半角スペースしかない場合は全角スペースに一括変換する機能をその他機能ボタン内に追加

・2026年2月9日
　Windows版及びmac版v1.1.1公開
　修正箇所
　　○メモリ開放処理を変更
　　○一時停止後に再生すると再生時間がおかしくなる場合があるため、修正
　機能追加
　　○歌詞選択行を再生位置に追従させる機能を追加
　　○歌詞追従機能のショートカットを追加（Ctrl+AまたはCmd+A）

・2026年2月15日
　Windows版及びmac版v1.1.2公開
　修正箇所
　　○歌詞自動追従機能が、最後にタイムスタンプ付与した歌詞より前の歌詞で動作しない不具合を修正

・2026年2月15日
　Windows版及びmac版v1.1.3公開
　機能追加
　　○付与済みのタイムスタンプについて、一括でタイムスタンプを調整する機能を追加
　　○一定のミリ秒以内にタイムスタンプを連続して付与した場合、タイムスタンプの秒数を最初に付与したタイムスタンプと揃えるオプションを追加。